;; Copyright (C) 2015 Christopher Allan Webber <cwebber@dustycloud.org>

;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
;; License as published by the Free Software Foundation; either
;; version 3 of the License, or (at your option) any later version.
;;
;; This library is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;; Lesser General Public License for more details.
;;
;; You should have received a copy of the GNU Lesser General Public
;; License along with this library; if not, write to the Free Software
;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
;; 02110-1301 USA

;; Note from the author:
;;   Or... you can distribute it under the GNU GPL v3 or later too, as
;;   published by the FSF.  I'm fine with that.

(use-modules (guix packages)
             (guix licenses)
             (guix download)
             (guix build-system gnu)
             (gnu packages)
             (gnu packages autotools)
             (gnu packages guile)
             (gnu packages pkg-config)
             (gnu packages texinfo))

(define-public 8sync
  (package
    (name "8sync")
    (version "0.1.dev")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://dustycloud.org/tmp/8sync-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "0dwksmsjn3rrzg9my3cnr13l3jx4nbl4y4hyv3bz1z1saskrxvij"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (propagated-inputs
     `(("guile" ,guile-2.0)))
    (synopsis "Asynchronous programming library for GNU Guile")
    (description "8sync is an asynchronous programming library for GNU Guile.
It makes use of delimited continuations to avoid a mess of callbacks resulting
in clean, easy to read non-blocking code.")
    (home-page "https://www.gnu.org/software/8sync/")
    (license lgpl3+)))

(package
  (name "syncbot")
  (version "git")
  (source #f)
  (build-system gnu-build-system)
  (synopsis #f)
  (description #f)
  (license #f)
  (home-page #f)
  (propagated-inputs
   `(("guile" ,guile-2.0)
     ("8sync" ,8sync))))
